<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                template="/templates/mantenimiento.xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:p="http://primefaces.org/ui"
                xmlns:r="http://richfaces.org">
    <ui:define name="title">
        Signos Viltales
    </ui:define>    
    <ui:define name="datos">
        <center>
            <h:panelGrid id="panelDatos">
                <h:form id="formDatos">
                    <p:focus context="ll"/>
                    <p:panel header="Fecha de agendamiento" >
                        <h:panelGrid  columns="5"  >
                            <h:outputText value="Fecha:"/>
                            <p:calendar label="Fecha" value="#{jsfPreparacion.fechaPreparacion}"  id="fecha" >
                                <p:ajax event="dateSelect" process="@this" update="panelLista datosPaciente datosHistoricos ll obs" 
                                        listener="#{jsfPreparacion.cargarLista()}"/>
                            </p:calendar> 
                            <p:message for="fecha" />
                            <h:commandLink action="#{jsfPreparacion.cargarLista()}" title="refrescar datos" >
                                <h:graphicImage width="40" library="images" name="refrescar.jpg" styleClass="pic" />
                                <f:ajax execute="@this" event="action" render="@form"/>
                            </h:commandLink>
                            <p:ajaxStatus id="commonStatus1">
                                <f:facet name="start">
                                    <h:graphicImage library="images/ajax" name="status2.gif"/>
                                </f:facet>
                            </p:ajaxStatus>
                        </h:panelGrid>
                    </p:panel>
                    <h:panelGrid id="panelLista">
                        <p:dataTable id="listaSimple" value="#{jsfPreparacion.listaAgenda}" var="item" rendered="#{jsfPreparacion.listaAgenda.size()>0}"  rows="5" paginator="true"   
                                     paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                                     rowsPerPageTemplate="5,10,15" rowIndexVar="rowIndex" rowStyleClass="#{(rowIndex mod 2) eq 0 ? 'odd-row' : 'even-row'}">
                            <f:facet name="header">
                                <h:outputText value="Turnos registrados [#{jsfPreparacion.listaAgenda.size()}]" />
                            </f:facet>
                            <p:column width="20" headerText="Tur" >
                                <h:outputText value="#{item.cagSecuencia}"/>
                            </p:column>
                            <p:column width="30" headerText="Hora">
                                <h:outputText value="#{item.cagHora}">
                                    <f:convertDateTime pattern="HH:mm"/>
                                </h:outputText>
                            </p:column>
                            <p:column width="80" headerText="His/Clínica"   filterBy="#{item.cexHistoriaClinica.chcHistoriaClinica}" >
                                <h:commandLink action="#{jsfPreparacion.seleccionarActionPreparacion(item)}" value="#{item.cexHistoriaClinica.chcHistoriaClinica}" title="Cargar paciente">
                                    <f:ajax execute="@this" event="action" render=":panelDatos"/>
                                </h:commandLink>
                            </p:column>
                            <p:column width="200" headerText="Nombres" filterBy="#{item.cexHistoriaClinica.chcNombreFull}"   
                                      filterMatchMode="contains">
                                <h:commandLink action="#{jsfPreparacion.seleccionarActionPreparacion(item)}" value="#{item.cexHistoriaClinica.chcNombreFull}" title="Cargar paciente">
                                    <f:ajax execute="@this" event="action" render=":panelDatos"/>
                                </h:commandLink>
                            </p:column> 
                            <p:column width="200" headerText="Médico" filterBy="#{item.cexHorariosDia.cexHorario.cexEspecialidadMedico.admMedico.ameNombreFull}">
                                <h:commandLink action="#{jsfPreparacion.seleccionarActionPreparacion(item)}" value="#{item.cexHorariosDia.cexHorario.cexEspecialidadMedico.admMedico.ameNombreFull}" title="Cargar paciente">
                                    <f:ajax execute="@this" event="action" render=":panelDatos"/>
                                </h:commandLink>
                            </p:column>
                            <p:column width="100"  headerText="Especialidad" filterBy="#{item.cexHorariosDia.cexHorario.cexEspecialidadMedico.cexEspecialidad.cesNombre}">
                                <h:outputText value="#{item.cexHorariosDia.cexHorario.cexEspecialidadMedico.cexEspecialidad.cesNombre}"/>
                            </p:column> 


                        </p:dataTable>

                    </h:panelGrid>

                    <p:panel  header="Datos paciente" >
                        <h:panelGrid columnClasses=",letraTomate,,letraTomate,,letraTomate,,letraTomate" columns="8"  id="datosPaciente">

                            <h:outputText value="Turno #:" />
                            <h:outputText value="#{jsfPreparacion.cexAgenda.cagSecuencia}" />
                            <h:outputText value="N° Carpeta:" />
                            <h:outputText value="#{jsfPreparacion.cexAgenda.cexHistoriaClinica.chcHistoriaClinica}" />
                            <h:outputText value="Paciente:" />
                            <h:outputText value="#{jsfPreparacion.cexAgenda.cexHistoriaClinica.chcNombreFull}" />
                            <h:outputText value="Dirección:" />
                            <h:outputText value="#{jsfPreparacion.cexAgenda.cexHistoriaClinica.chcDireccion}"/> 
                            <h:outputText value="Edad:" />
                            <h:outputText value="#{jsfPreparacion.cexAgenda.cexHistoriaClinica.chcEdad}" />
                            <h:outputText value="Médico:" />
                            <h:outputText value="#{jsfPreparacion.cexAgenda.cexHorariosDia.cexHorario.cexEspecialidadMedico.admMedico.ameNombreFull}" />
                            <h:outputText value="Subespecialidad:" />
                            <h:outputText value="#{jsfPreparacion.cexAgenda.cexHorariosDia.cexHorario.cexEspecialidadMedico.cexEspecialidad.cesNombre}" />

                        </h:panelGrid>
                        <h:panelGrid columns="3" id="datosHistoricos">
                            <p:panel>
                                <h:panelGrid columnClasses=",letraTomate,,,letraTomate," columns="8">
                                    <h:outputText value="Fecha ultimo peso:" />
                                    <h:outputText value="#{jsfPreparacion.ultimoPeso.cprFecha}" >
                                        <f:convertDateTime pattern="dd-MM-yyyy"/>
                                    </h:outputText>
                                    <p:spacer width="20" height="10" />
                                    <h:outputText value="Ultimo peso registrado:" />
                                    <h:outputText value="#{jsfPreparacion.ultimoPeso.cprPeso}" />
                                    <p:spacer width="20" height="10" />
                                    <h:outputText value="Ingresar peso" />
                                    <p:selectBooleanCheckbox id="chb1" label="Activar"  
                                                             disabled="#{jsfPreparacion.admUsuario.admEmpleado.admDepartamento.idDepartamento eq 3}" value="#{jsfPreparacion.activarPeso}" >
                                        <p:ajax event="change"  process="@this chb2" listener="#{jsfPreparacion.limpiarObjeto()}" update="peso chb2"/>
                                    </p:selectBooleanCheckbox>
                                </h:panelGrid>
                            </p:panel>
                            <p:spacer width="15" height="10" />
                            <p:panel>
                                <h:panelGrid  columnClasses=",letraTomate," columns="5">
                                    <h:outputText value="Fecha ultima renovacion signos vitales:" />
                                    <h:outputText value="#{jsfPreparacion.ultimoRenovacion.cprFecha}" >
                                        <f:convertDateTime pattern="dd-MM-yyyy"/>
                                    </h:outputText>
                                    <p:spacer width="30" height="10" />
                                    <h:outputText value="Renovar datos" />
                                    <p:selectBooleanCheckbox id="chb2" label="Activar" 
                                                             disabled="#{jsfPreparacion.admUsuario.admEmpleado.admDepartamento.idDepartamento eq 3}" value="#{jsfPreparacion.activarRenovacion}" >
                                        <p:ajax event="change" process="@this chb1" listener="#{jsfPreparacion.limpiarObjeto()}"
                                                update="tmax tmin peso fre talla perCintura perCadera perPantorrila chb1"/>
                                    </p:selectBooleanCheckbox>
                                </h:panelGrid>
                            </p:panel>
                        </h:panelGrid>
                    </p:panel>


                    <p:panel header="Constantes vitales">
                        <h:panelGrid  id="ll"  columns="12" >

                            <f:verbatim/>
                            <h:outputText  value="Presión arterial acostado:" />
                            <h:panelGrid  columns="4" >
                                <h:outputText value="max:" />
                                <p:inputText disabled="#{jsfPreparacion.activarRenovacion eq false}" id="tmax" size="3" label="Tensión arterial/max" title="Tensión arterial/max" value="#{jsfPreparacion.object.cprTensionMaxAcostado}" >
                                    <f:validateLongRange  minimum="0" maximum="230"/>
                                </p:inputText>
                                <h:outputText value="min:" />
                                <p:inputText disabled="#{jsfPreparacion.activarRenovacion eq false}"  id="tmin" size="3" label="Tensión arterial/min" title="Tensión arterial/min" value="#{jsfPreparacion.object.cprTensionMinAcostado}" >
                                    <f:validateLongRange  minimum="0" maximum="140" />
                                </p:inputText>
                                <f:verbatim/>
                                <p:message for="tmax" />
                                <f:verbatim/>
                                <p:message for="tmin" />
                            </h:panelGrid>
                            <f:verbatim   />


                            <f:verbatim/>
                            <h:outputText  value="Presión arterial sentado" />
                            <h:panelGrid   columns="4" >
                                <h:outputText value="max:" />
                                <p:inputText id="tmaxSe" size="3" required="true" label="Tensión arterial/max" title="Tensión arterial/max" value="#{jsfPreparacion.object.cprTensionMaxSentado}" >
                                    <f:validateLongRange  minimum="0" maximum="230"/>
                                </p:inputText>
                                <h:outputText value="min:" />
                                <p:inputText id="tminSe" size="3" required="true" label="Tensión arterial/min" title="Tensión arterial/min" value="#{jsfPreparacion.object.cprTensionMinSentado}" >
                                    <f:validateLongRange  minimum="0" maximum="140" />
                                </p:inputText>
                                <f:verbatim/>
                                <p:message for="tmaxSe" />
                                <f:verbatim/>
                                <p:message for="tminSe" />
                            </h:panelGrid>
                            <f:verbatim   />


                            <f:verbatim/>
                            <h:outputText value="Temperatura:" />
                            <p:inputText id="tem" label="Temperatura" required="true" title="Temperatura" size="22" 
                                         disabled="#{jsfPreparacion.admUsuario.admEmpleado.admDepartamento.idDepartamento eq 3}" value="#{jsfPreparacion.object.cprTemperatura}" >
                                <f:validateLongRange  minimum="0"/>
                            </p:inputText>
                            <f:verbatim   />

                            <f:verbatim   />
                            <f:verbatim   />
                            <f:verbatim   />
                            <f:verbatim   />

                            <f:verbatim   />
                            <f:verbatim   />
                            <f:verbatim   />
                            <f:verbatim   />

                            <f:verbatim   />
                            <f:verbatim   />
                            <p:message for="tem" />
                            <f:verbatim   />



                            <f:verbatim/>
                            <h:outputText  value="Frecuencia cardíaca:" />
                            <p:inputText  id="fca" label="Frecuencia cardíaca" required="true" size="22" title="Frecuencia cardíaca" value="#{jsfPreparacion.object.cprFrecenciaCar}" >
                                <f:validateLongRange  minimum="0"/>
                            </p:inputText>
                            <f:verbatim/>


                            <f:verbatim/>
                            <h:outputText  value="Frecuencia respiratoria:" />
                            <p:inputText disabled="#{jsfPreparacion.activarRenovacion eq false}" id="fre"  label="Frecuencia respiratoria" size="22" title="Frecuencia respiratoria" value="#{jsfPreparacion.object.cprFrecenciaRes}" >
                                <f:validateLongRange  minimum="0"/>
                            </p:inputText>
                            <f:verbatim/>


                            <f:verbatim/>
                            <h:outputText value="Peso en Kg:" />
                            <p:inputText  id="peso" title="peso" disabled="#{jsfPreparacion.activarRenovacion eq false and jsfPreparacion.activarPeso eq false}"
                                          size="22" label="Peso" value="#{jsfPreparacion.object.cprPeso}" >
                                <p:ajax event="blur" process="peso talla" update="imc obs" listener="#{jsfPreparacion.calcularImc}"/>
                                <f:validateLongRange  minimum="0"/>
                            </p:inputText>
                            <f:verbatim/>


                            <f:verbatim/>
                            <f:verbatim/>
                            <p:message  for="fca" />
                            <f:verbatim/>



                            <f:verbatim/>
                            <f:verbatim/>
                            <p:message  for="fre" />
                            <f:verbatim/>

                            <f:verbatim />
                            <f:verbatim />
                            <p:message  for="peso" />
                            <f:verbatim />





                            <f:verbatim />
                            <h:outputText value="Talla en mts:" />
                            <p:inputText id="talla" title="Talla" size="22" label="Talla" disabled="#{jsfPreparacion.activarRenovacion eq false}"
                                         value="#{jsfPreparacion.object.cprTalla}"  >
                                <p:ajax event="blur" process="peso talla" update="imc obs" listener="#{jsfPreparacion.calcularImc}"/>
                                <f:validateLongRange  minimum="0"/>
                            </p:inputText>
                            <f:verbatim/>

                            <h:graphicImage library="images/ajax" name="bullet.gif" />
                            <h:outputText value="IMC:" />
                            <h:outputText value="#{jsfPreparacion.object.cprImc}" id="imc" styleClass="letraTomate" />
                            <f:verbatim/>

                            <f:verbatim />
                            <h:outputText value="Perímetro cintura:" />
                            <p:inputText id="perCintura" title="Perimetro cintura" size="22" disabled="#{jsfPreparacion.activarRenovacion eq false}"
                                         label="Perimetro cintura" value="#{jsfPreparacion.object.cprPerimertoCintura}"  >
                                <f:validateLongRange  minimum="0"/>
                            </p:inputText>
                            <f:verbatim/>

                            <f:verbatim/>
                            <f:verbatim/>
                            <p:message  for="talla" />
                            <f:verbatim/>

                            <f:verbatim/>
                            <f:verbatim/>
                            <f:verbatim/>
                            <f:verbatim/>

                            <f:verbatim/>
                            <f:verbatim/>
                            <p:message  for="perCintura" />
                            <f:verbatim/>



                            <f:verbatim/>
                            <h:outputText value="Perímetro cadera:" />
                            <p:inputText id="perCadera" title="Perímetro cadera" size="22" disabled="#{jsfPreparacion.activarRenovacion eq false}"
                                         label="Perimetro cadera" value="#{jsfPreparacion.object.cprPerimetroCadera}"  >
                                <f:validateLongRange  minimum="0"/>
                            </p:inputText>
                            <f:verbatim/>


                            <f:verbatim/>
                            <h:outputText value="Perímetro pantorrilla:" />
                            <p:inputText id="perPantorrila" title="Perímetro pantorrilla" disabled="#{jsfPreparacion.activarRenovacion eq false}"
                                         size="22" label="Perimetro pantorrilla" value="#{jsfPreparacion.object.cprPerimetroPantollida}"  >
                                <f:validateLongRange  minimum="0"/>
                            </p:inputText>
                            <f:verbatim/>



                            <f:verbatim/>
                            <f:verbatim/>
                            <p:message  for="perCadera" />
                            <f:verbatim/>

                            <f:verbatim/>
                            <f:verbatim/>
                            <p:message  for="perPantorrila" />
                            <f:verbatim/>


                        </h:panelGrid>
                        <h:panelGrid columns="4" >
                            <f:verbatim/>
                            <h:outputText value="Observaciones:" />
                            <p:inputTextarea rows="3" cols="100" id="obs" label="Observaciones"  value="#{jsfPreparacion.object.cprObservaciones}" />  
                            <f:verbatim/>

                            <f:verbatim/>
                            <f:verbatim/>
                            <p:message for="obs" />
                            <f:verbatim/>
                        </h:panelGrid>
                    </p:panel>



                    <br />
                    <center>
                        <h:panelGrid >
                            <h:panelGroup id="panelBotones">
                                <p:commandButton id="btGrabar" update="commonStatus :panelDatos " value="GRABAR" actionListener="#{jsfPreparacion.grabarAction}"  title="Grabar registro"/>
                                <p:ajaxStatus id="commonStatus">
                                    <f:facet name="start">
                                        <h:graphicImage library="images/ajax" name="status2.gif"/>
                                    </f:facet>
                                </p:ajaxStatus>
                            </h:panelGroup>
                        </h:panelGrid>
                    </center>
                    <p:message for="formDatos">
                        <f:facet name="errorMarker">
                            <h:graphicImage library="images/ajax" name="warning.gif"/>
                        </f:facet>
                        <f:facet name="infoMarker">
                            <h:graphicImage library="images/ajax" name="passed.gif"/>
                        </f:facet>
                    </p:message>
                    <br />
                    <h:panelGroup >
                        <h:graphicImage library="images/ajax" name="bullet.gif" />
                        <h:outputText value="Campo obligatorio" styleClass="campo-obligatorio"/>
                    </h:panelGroup>





                    <p:growl id="growl"  showDetail="true" life="6500" />  
                </h:form>
            </h:panelGrid>
        </center>
    </ui:define>

</ui:composition>
